package com.jintoufs.dao.user;

import com.jintoufs.dao.QueryFilters;
import com.jintoufs.domain.user.User;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;
@Repository
public interface UserDAO {
	/**
	 * 根据条件查询
	 * @param filters 属性列表，过滤存在的属性值
	 */
	List<Map> getByFilter(QueryFilters filters);

	/**
	 * 修改
	 */
	Integer update(User user);

	/**
	 * 添加
	 */
	Integer insert(User user);

	/**
	 * 删除
	 */
	void delete(Integer id);
	/**
	 * 根基参查询
	 */
	List<User> queryByParams(Map<String, Object> params);

	Map<String,Object> queryUserById(Integer id);
	/**
	 * 根据用户角色 查询用户
	 * @param roleName
	 * @return
	 */
	List<User> getUserByRoleName(String roleName);

	String getUserRoleNameById(Integer id);

	List<String> getFingerList();

	List<String> getCodeList();

	List<User> queryUsersByTaskId(Map<String, Object> params);

	User queryByPrimaryKey(Integer id);

	List<User> getByRouteTaskId(Long routeTaskId);

	Integer auth(Map<String,Object> param);
}
